package com.chinasofti.project.common.web;

import com.chinasofti.project.common.ObjectBase;
import com.chinasofti.project.common.validation.ValidateUtil;

/**
 * 基础form,
 * <ul>
 * 	<li>提供jsr303校验功能,使用方法为直接调用validate方法即可,错误抛出com.chinasofti.project.exceptions.ValidationException
 * 	若需要加入其它校验,请覆盖validateMore方法,校验结构请抛出ValidationException</li>
 *  <li>为子类提供toString方法</li>
 * </ul>
 */
public abstract class BaseForm  extends ObjectBase{

    /**
     * 执行JSR303校验
     */
    public void validate(){
        ValidateUtil.validate(this);
        validateMore();
    }

    /**
     * 更多校验，默认不需要，子类可以选择覆盖以实现更多校验
     */
    protected void validateMore() {
        //用作继承后覆盖
    }

}
